Customer retention system and process in a vending unit, retail display or automated retail store

ABSTRACT

A vending system comprising numerous remote vending machines, retail displays, and automated retail stores connected to a communication network access a central database so that each remote machine provides and responds to personalized customer information. Each machine comprises a display containing products to be vended and a plurality of touchable product viewing areas for initiating a vend. A computer recognizes customer data derived from peripheral inputs. Software communicates with the database for establishing customer profiles and either recognizing customers or registering customers by generating a global unique identifier. Subroutines initiate the dispensing of items in response to preselected conditions associated with each GUID.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon pending U.S. Provisional Application Ser.No. 61/168,838 filed Apr. 13, 2009, and entitled “Customer RetentionSystem And Automated Retail Store (Kiosk, Vending Unit, Automated RetailDisplay And Point-Of-Sale)”, by coinventors Darrell Scott Mockus, MaraSegal and Russell Greenberg, and priority based on said application isclaimed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to automated vending machines.More particularly, the present invention relates to smart, computercontrolled interactive vending machines equipped with a method andsystem for capturing and retaining consumer information and forauthenticating returning consumers in conjunction with automated retailand or interactive retail deployments and retail displays.

2. Description of the Related Art

Numerous prior art vending machines exist for selling or vending diverseproducts through an automated, or ‘self-service’ format. Vending reachedpopularity in the late 1800's with coin-operated devices dispensingdiverse merchandise. More recently vending machines have evolved toinclude robotic dispensing components, and/or PCs and virtualinterfaces. These new vending platforms have emerged in the marketplaceunder the popular descriptions “automated retail,” “interactive retail,”and/or “interactive retail displays.” Such vending machines may bedeployed within a variety of retail or commercial settings. Theytypically include illuminated, visual displays that seek to attract andeducate customers or potential customers. Product information may becustomer-requested utilizing interactive displays, including touchscreen computer interfaces and virtual interfaces.

Current automated retail units are assembled as single integrated, orstand-alone store units with merchandising displays and mechanicalcomponents integrated into a single platform. Typical platforms providean interface with a single touch screen with limited peripherals (suchas a keyboard). This makes entering complex data (usernames, passwords,addresses, preference information) difficult. Usually only minimalcustomer data is inputted to initiate a vend. Historically, vending andautomated retail machines do not have a viable method or process forassociating specific repeat customers to previous sales, preferences andreward programs, in part because of the lack of properly accumulated andinventoried customer data. Customer profiling has not been emphasized inthe vending arts.

Unlike normal stores, staffed with experienced sales people that oftenrecognize and greet repeat customers accordingly, vending machines canbe quite impersonal. Successful sales people know certain things that arepeat customer likes or dislikes. Store personnel understand customerpersonalities, so they can recommend various items. Sales personnel canrecommend products that a customer might want to try, based upon thatcustomers' past performance. Thus in normal retail outlets, experiencedsales personnel, armed with information concerning the habits andpreferences of repeat customers, provide superior services and benefitsto customers, while enhancing store goodwill and maximizingestablishment revenue.

Self-service, automated vending machines can no doubt benefit byemulating the “personal touch” normally provided by human interaction intypical retail stores. We have determined that there is a value inhaving an easy-to-use customer retention program in a self-servicevending unit, that familiarizes the vending unit with the likes anddislikes of repeat customers, based upon information gleaned from pastcustomer interactions.

Product suppliers want to connect to their customer base.Brand-preferences are strong with some customers. In the prior art thereis no easy way for customers to currently indicate their interest in agiven brand at the time of purchase, and to communicate their contactinformation. This is usually done afterwards through productregistrations via postal mail. Sign up processes online are difficult,requiring multiple steps that are time consuming.

It is thus desirable to provide a method and system for customerretention that is efficient and easy to use in a self-service machinesuch as automated retail store, retail kiosk, interactive digitalsignage system, etc. It is further desirable for such a system to use avariety of personally identifiable information to authenticate a user ona self-service machine to provide access to member benefits andprivileges. It is also desirable to limit abuse of those benefits andprivileges.

BRIEF SUMMARY OF THE INVENTION

This invention provides an improved method for users of a self-servicevending system to establish and manage a customer profile, and to becomepart of a membership program that gives them instant access to rewards,discounts and free products.

Data may be inputted through a magnetic card reader, RFID reader, orBluetooth receiving unit that reads personal identifying information.Peripheral input devices such as touch screens and/or keypads may inputinformation as well. The software utilizes a centralized databaseconnected via a wireless or wired connection that stores inputtedcustomer data for later use at any one of numerous, connectedself-service stations.

A software algorithm generates a global unique identifier (GUID) forindividual customers that uniquely identifies the user across allmachines and platforms. The GUID is derived from personally identifiableinformation such as part of a credit card number, a non-identifyingcalculated number based off that number, a user's name, or an emailaddress. An advantage is that, while the GUID is uniquely derived inpart from personal information, it contains no identifiable personalinformation. By design, information such as a user profile and buyinghabits can be attached to the GUID. The system allows for a multitude ofidentifying options the user may select—each is globally unique. Thismeans that the pieces that make up the identifying information arestructured in a way that there are no duplicates and that a user canproperly restrict this access in a secure way.

For example, a unique combination can result from a portion ofinformation taken from a user's credit card that can be combined with anemail address. The email address is unique because of general domain andinterne system requirements. A credit card provides security in that aperson must be in possession of it to access the system. These twopieces of information used in concert provide an adequately secure wayto access the system. Another possible combination could be a cell phonenumber and a personal identification number (PIN) selected by the user.The cell phone number provides a globally unique item and the PINprovides a level of security. A fingerprint is considered unique andsecure. The system can however can pair a fingerprint scan with a passphrase to compensate for any limitations in the technology to read aunique fingerprint. The system can also use its built-in camera forfacial recognition. Because of limitations in technology and thenaturally occurring phenomenon of identical twins, this facialrecognition can also be paired with a PIN or pass phrase. The system canalso read the Media Access Control address (MAC address) from wirelessenabled devices. The MAC addresses are designed to be unique, butbecause they can be altered by users, this MAC address is paired with aPIN or pass phrase to make it both unique and secure. The system can bealtered at any time to add additional methods of unique and secureidentification, but the process remains the same.

The multiple authentication options of the preferred invention allowsfor a superior consumer experience. Consumers can associate differentmethods of identifying themselves to a registered account. Thisinvention offers several advantages. One advantage is that users caneasily sign up with minimal manual input. Another advantage is that auser can choose the method that suits their individual preferences.Users also have multiple options of identifying with a machine in casethey forgot one of their identification methods.

The connection of all machines on a network to a centralized datarepository and system allows a fluid consumer experience across multipleautomated retail stores or digital signage environments. This is a greatadvantage as a user's preferences are acknowledged at any location wherethey identify themselves with their registered account. One advantage isthat the user's buying preferences are recognized during their usersession. These may include options to quickly purchase frequently boughtitems, the highlighting of categories of products that are of interestand the de-emphasis of products and items are of little interest to theuser. Another advantage is the recommendation or special product offerson products that may interest the user based on current usage, previouspurchases or historical usage patterns. Users may also accumulatevarious status levels based on their patronage. Each time a useridentifies themselves on a machine and purchases merchandise or samplesor tries qualifying items, they receive points that are associated withtheir account. These points may be traded in for merchandise, discountsor other benefits as determined by administrative marketing personnel.

The preferred invention provides a system and mechanism to prevent theabuse of a free sample dispensing program. In an automated machine, itis important to control the free distribution of any product or item.The invention makes the membership registration process compulsory,requiring any user requesting a sample to be an existing registered useror sign up to become one. The membership process uses items that areglobally unique, and the majority of users would rarely have more thanone. Examples of these could include but are not limited to cell phonenumbers, credit cards, MAC addresses on wireless devices. Because ofthis, it is difficult for a single user to register more than once.Samples are entered into the data system using a unique productidentifier in the system. Each sample type is associated with a fullsized retail version of the product that is also identified in thesystem using a unique identifier. Each time a sample is dispensed, theuser id, sample id, date and dispense location are logged in a data filethat is centrally stored and retrievable by any machine connected to thesystem. Once a user is registered, sample deliver can be controlled to agiven rule set. Some implemented rules may include but are not limitedto only sample type per registered user and only one sample a day perregistered user. Sample id type, registered user and the date are loggedduring sample dispensing so product purchases by registered users whoidentify themselves on the system can be tracked linking purchases togiveaways. These numbers can be analyzed to determine marketingeffectiveness by an automated routine or by a manual process.

Another advantage of the preferred system is that the advanced recordingand logging of user actions can be associated with a specific user toenhance the consumer's experience. Motion sensors and touch sensorsmounted in the machine can sense various user interactions with themachine. Each of these events are recorded and logged by the system.When a registered user identifies themselves on a machine, theinteractions can be associated with a specific user. This informationcan be correlated in real time or after a user's session. to enhance theconsumer experience. The information used can be a collection of aregistered user's entire interaction history, sub segments of thathistory, or it can be based on current actions. Examples of an enhanceduser experience include:

-   -   a) broadcast promotions and sales to the registered user's        contact information based on a collection of aggregated data of        the user's actions over a period of time.    -   b) up-sell or cross sell products that are related to the        products, items or brands in which the user showed interest        based on the recorded actions    -   c) group frequent or repeat purchase items into a custom easy to        select button on the touch screen so a user can quickly purchase        the items they want.    -   d) provide on screen product recommendations based on what        products or brands were viewed, selected, added to the list for        purchase and purchased.    -   e) display videos, text messages, image messages on the touch        screen or through the audio system providing more information on        products, brands and items in which the user has shown an        interest through a collection of their actions over a period of        time.

The preferred invention also allows users to communicate with othercontacts not registered on the system, or to communicate directly withother registered users of the system. Examples of enhanced user optionsinclude the ability to:

-   -   a) send a cell phone text message (SMS), an email or other        electronic communication message to another person containing a        product, item or brand recommendation directly from the machine        by entering in the contact information of the other person. If        the contact information matches the contact information of        another registered user, the current user will also be provided        the option to message the user on the local system. In this        case, a message would be presented to the user when they use any        machine or log into the linked website.    -   b) post a recommendation, viewing action, or purchase action on        a machine to a website, social networking website, news feed,        message board or any other election posting system by linking        their member registration to their external account that gives        them the proper permissions to post.    -   c) purchase a gift for another person and send them a message on        how to receive the product. The message will contain a code that        a user can enter into any machine that will present the gift        which may be a credit amount redeemable for selected merchandise        in the machine or a specific product or group of products        subject to availability.

Preferably, the process is initiated when a user selects a membershipdigital button on the touch screen, or attempts to exercise a membershipprivilege, such as receiving a free product sample. The user is thenprompted for some identifying information that will uniquely identifythe consumer as a returning user. These could be any of the following: acredit card, an ID card with an encoded magnetic stripe, a cell phonenumber, a wireless device with a unique Media Access Control (MAC)address, facial recognition scan, fingerprint scan or any othermechanism that is proven to be unique and identifiable to one person aspreviously described. Depending on the mechanism, an additionalinformation point such as a password, pass phrase or personalidentification number (PIN) may be used in combination with the uniqueelement to ensure it is securely linked to the correct registered user.This step further minimizes the risk of fraudulent attempts.

The invention consists of a series of merchandise display,promotional/digital signage, automated mechanical/dispensing, and/ortransactional modules that can be assembled and configured to create anautomated retail store, or interactive retail display of any size andlink together via an virtual integrated network.

The invention also allows for a user to register on any machine andaccess their information, receive member benefits on any other machineon the network. All member activity can be tracked across every machinedeployed on the network and in real-time regardless of where the useroriginally registered. In addition, membership restrictions can beimposed and enforced system wide.

Thus a basic object of our invention is to provide a more effectiveconsumer retail experience on an automated vending machine orinteractive retail display.

Another important object is to provide an interactive retail display inthe form of a vending machine that uses interactive lighting andproduces variable lighting effects in response to user inputs.

Other objects are as follows:

-   -   a) to provide a system that can easily and cost effectively        allow users of a kiosk, vending unit, automated retail store,        digital signage unit, POS system or similar self service system        to sign up for membership or ‘club’ program using an identifying        card (e.g. credit card, license, magnetic or RFID card, etc.)        and a user interface to identify themselves and sign up and be        recognized as a returning user.    -   b) to provide a method of which users can “register” and/or        “sign up” for a membership program on an automated kiosk.    -   c) to provide a method for which member users can get instant        access to product samples.    -   d) to provide a method for which member users can get discounts.    -   e) to provide a method for which member users can accumulate        “points” or “credits” for purchases made that can be applied to        benefits such as discounts, free products or other offerings.    -   f) to provide a method for which members can select and/or        connect to brand partners in which they are interested.    -   g) to provide a method for storing member selections including        preferred brands, or products in a database that can be accessed        remotely or referenced in during the member's interaction with        the kiosk to enhance consumer experience through product        recommendations, user presentation and/or specials/deals.    -   h) to provide a method for which various means of personal        identification such as an identifying magnetic stripe card        (credit card, license, government id, membership id card, etc.),        RFID device (cell phone, smart card, mobile device), Bluetooth        enabled device (cell phone, mobile device, etc.) or infrared        signaling device (cell phone, mobile device, etc.) can be used        to sign up for/register and later be used to be recognized when        returning.    -   i) to provide a method for tracking user behavior in a kiosk and        leveraging behavior tracking to cross-sell, up-sell, and deepen        with the consumer.    -   j) to provide a method that allows a registered user's actions        to be logged and recorded.    -   k) to provide a method that allows a registered user's actions        with a touch screen interface to be associated with a consumer        profile.    -   l) to provide a method that allows the use of motion sensors to        track consumer movements and associate these actions with a        consumer profile.    -   m) to provide a method that allows the use of touch sensors to        track consumer actions and associate these actions with a        consumer profile.    -   n) to provide a method that allows the recorded actions of a        registered user to be used to customize the user's retail        experience.    -   o) to facilitate user interactions with the automated vending        process or retail display by providing a visual reminder of        products that have already been selected or previously purchased        in another session by the user on the touch screen so that they        can be easily purchased again.    -   p) to provide the ability for a user to customize their own        experience through voluntary information input.    -   q) to provide the ability for a user to manage their methods of        contact which may include but are not limited to email address,        phone, cell phone, facsimile machine phone number, social media        website user identification, or mailing address.    -   r) to provide the ability to remotely manage all of the        registered users preferences and accessible information via a        website or mobile application.    -   s) to provide a method that allows administrative users to place        time restrictions on a registered user's ability to receive        product samples.    -   t) to provide a method that allows administrative users to place        quantity restrictions on a registered user's ability to receive        product samples.    -   u) to provide a system and a method for linking user        registration made on one machine to all machines on the system        via a central repository and management system.    -   v) to provide system wide restrictions and limitations on sample        programs and other membership benefits across all machines        connected to a central system.

These and other objects and advantages of the present invention, alongwith features of novelty appurtenant thereto, will appear or becomeapparent in the course of the following descriptive sections.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

In the following drawings, which form a part of the specification andwhich are to be construed in conjunction therewith, and in which likereference numerals have been employed throughout wherever possible toindicate like parts in the various views:

FIG. 1 is a block diagram of the system.

FIG. 2 is an isometric view of an assembled vending machine module.

FIG. 3 is a software block diagram of the preferred “general user lookupprocess”;

FIG. 4 is a software block diagram of the preferred “new userregistration process”;

FIG. 5 is a software block diagram of the preferred “returning userlookup process”;

FIG. 6 is a software block diagram of the preferred “update accountinformation” and “add additional identifying methods” processes;

FIG. 7 is a software block diagram of the preferred “member transactionprocess”;

FIG. 8 is a software block diagram of the preferred “sample dispensingprocess”; and,

FIG. 9 is a software block diagram of the preferred “end of sessionprocess.”

DETAILED DESCRIPTION OF THE INVENTION

With initial reference directed to FIGS. 1 and 2 of the appendeddrawings, a system consisting of a plurality of automated retailmachines connected via a data connection to a centralized, backendoperations center system has been generally designated by the referencenumeral 100. At least one automated retail machine 101 is deployed in aphysical environment accessible by a consumer who can interact with themachine 101 directly. There can be any number of machines 101, allconnected to a single, remote logical operations center 130 via theInternet 120 (or a private network).

The operations center 130 can physically reside in a number of locationsto meet redundancy and scaling requirements. The machine software iscomposed of a number of segments that all work in concert to provide anintegrated system. Logical area 102 provides the interface to deal withall of the machine's peripherals such as sensors, keypads, printers andtouch screen. Area 103 handles the monitoring of the machine and thenotifications the machine provides to administrative users when theirattention is required. Area 104 controls the reporting and logging onthe machine. All events on the machine are logged and recorded so theycan be analyzed later for marketing, sales and troubleshooting analysis.Logical area 105 is responsible for handling the machines lightingcontrols.

Logical area 106 is the Inventory Management application. It allowsadministrative users on location to manage the inventory. This includesrestocking the machine with replacement merchandise and changing themerchandise that is sold inside the machine. Administrative users canset the location of stored merchandise and the quantity.

Logical area 107 is the retail store application. It is the primary areathat the consumers use to interface with the system. This is the areathat the majority of the processes described in FIGS. 3 through 9 occur.Logical area 108 handles the controls required to physically dispenseitems that are purchased on the machine or physically dispense samplesthat are requested by a consumer. Logical area 109 controls theinventory management system allowing authorized administrative users toconfigure and manage the physical inventory in the machine. Area 110controls the payment processing on the machine. It manages thecommunication from the machine to external systems that authorize andprocess payments made on the machine. Area 111 is an administrativesystem that allows an authorized user to manage the content on themachine. The content can consist of text, images, video and anyconfiguration files that determine the user's interaction with themachine.

The latter applications interface with the system through an applicationlayer designated in FIG. 1 by the reference numeral 112. Thisapplication layer handles the communication between all of theseroutines and the computer's operating system 113. This layer providessecurity and lower level messaging capabilities. It also providesstability in monitoring the processes, ensuring they are active andproperly functioning. Logical area 131 is the user database repositorythat resides in the operations center 130. This repository isresponsible for storing all of the registered user data that isdescribed in the following figures. It is logically a single repositorybut physically can represent numerous hardware machines that run anintegrated database. The campaign and promotions database and repository132 stores all of the sales, promotions, specials, campaigns and dealsthat are executed on the system. Both of these databases directlyinterface with the real-time management system 133 that handlesreal-time requests described in FIGS. 3 and 9. Logical area 134aggregates data across all of the databases and data repositories toperform inventory and sales reporting. The marketing management system135 is used by administrative marketing personnel to manage themarketing messaging that occurs on the system; messages are deployedeither to machines or to any e-commerce portals. Logical area 136monitors the deployed machines described in FIG. 2, and provides toolsto observe current status, troubleshoot errors and make remote fixes.Logical area 137 represents the general user interface portion of thesystem. This area has web tools that allow users to manage theirprofiles and purchase products, items and services. The contentrepository database 138 contains all of the content displayed on themachines and in the web portal. Logical area 139 is an aggregate ofcurrent and historical sales and usage database comprised of the logsand reports produced by all of the machines in the field and the webportals.

FIG. 2 shows an automated retail vending machine 200 that wasrepresented logically as 101 (FIG. 1). For purposes of vending machinehardware disclosure, the two following co-pending U.S. utilityapplications, which are owned by the same assignee as in this case, arehereby incorporated by references, as if fully set forth herein:

(a) Pending U.S. utility application Ser. No. 12/589,277, entitled“Interactive and 3-D Multi-Sensor Touch Selection Interface For anAutomated Retail Store, Vending Machine, Digital Sign, or RetailDisplay,” filed Oct. 21, 2009, by coinventors Mara Segal, DarrellMockus, and Russell Greenberg, that was based upon a prior pending U.S.Provisional Application Ser. No. 61/107,829, filed Oct. 23, 2008, andentitled “Interactive and 3-D Multi-Sensor Touch Selection Interface foran Automated Retail Store, Vending Machine, Digital Sign, or RetailDisplay”; and,

(b) Pending U.S. utility application Ser. No. 12/589,164, entitled“Vending Machines With Lighting Interactivity And Item-Based LightingSystems For Retail Display And Automated Retail Stores,” filed Oct. 19,2009 by coinventors Mara Segal, Darrell Mockus, and Russell Greenberg,that was based upon a prior pending U.S. Provisional Application Ser.No. 61/106,952, filed Oct. 20, 2008, and entitled “LightingInteractivity And Item-Based Lighting Systems In Retail Display,Automated Retail Stores And Vending Machines,” by the same coinventors.

Again referencing FIG. 2, and as detailed in the above-mentionedcopending utility applications, the display module 210 can be attachedwith a hinge 226 to a vending machine comprised of a rigid uprightcabinet with rigid sides 223 and top 224, or the module can be mountedto a solid structure as a stand-alone retail display. The display module210 forms a door that is hinged to the cabinet sides 223 adjacent avertical control column 211. A variety of door configurations known inthe art can be employed. For example, the display doors can be smalleror larger, and they can be located on one or both sides of the totemarea. The display doors can have multiple square, oval, circular,diamond-shaped, rectangular or any other geometrically shaped windows.Alternatively, the display area can have one large display window withshelves inside.

A customizable, lighted logo area 201 (FIG. 2) is disposed at the top ofcolumn 211. Touch screen display 202 is located below area 201. Panel203 locates the machine payment system, coin acceptor machine or thelike. Additionally panel 203 can secure a receipt printer, keypad,headphone jack, fingerprint scanner or other access device. The productretrieval area 204 is disposed beneath the console 211 in a conventionalcompartment (not shown). A key lock 205, which can be mechanical orelectrical such as a punch-key lock, is disposed beneath the face of themodule 210. One or more motion sensors 206 are disposed within smallerdisplay tubes within the console interior. There are a plurality ofgenerally circular touchable product viewing areas 207 areas definedupon the outer the face of the casing 208 that are aligned with internaldisplay tubes behind the product viewing surface areas. Areas 207include proximity or touch sensors described hereinafter that are usedfor customer selection. The reference numeral 209 designates an exteriorantenna that connects to a wireless modem inside the machine providingconnectivity.

FIG. 3 illustrates a general user lookup subroutine 300 that determineswhether a user is registered. Subroutine 300 begins on a deployedmachine 101 (FIG. 1) when a user attempts to access an area or featurerestricted to registered users of the system 301, or when a useractively touches a button or control on the touch screen (i.e., in area102) indicating they wish to identify themselves as a registered user302. This functionality takes place within the retail store application107 (FIG. 1). The user is presented with a screen prompting them toregister or identify themselves with an existing registrationidentification method in step 303. The user may use any of the acceptedmethods of identification as noted previously in this document.

Step 304 handles all methods that involve inserting or swiping anidentifying piece of information such as a credit card, membership card,driver's license, etc. Step 305 handles all identification methods thatare entered into the system via the touch screen and/or keypad devices.These methods typically include usernames and passwords. Step 306handles any method that is sensed, detected or scanned such as wirelessdevices, fingerprints, facial recognition or wireless emitting entitiessuch as smart cards. Each of these steps has their own error handlingprocedures that make sure the information is read or entered incorrectly. Step 307 packages this information into a formatted messagerequesting identification verification. This step can include encryptingthe data or using a hash function that converts a set or subset of thepossibly variable-sized amount of input data into a small datum, usuallya single integer that may serve as an index to the user record. Theinputted data is never transmitted or stored in its raw form. From thispoint on, the full data set cannot be reverse computed to get theoriginal value. Step 308 sends the identification authorization requestto the central operations center 130 (FIG. 1) represented by theprocesses indicated by 310. It is received by the Real-time ManagementSystem 133 (FIG. 1) in step 311 that parses the message and extracts theidentifying pieces of information used to lookup the user record basedon the identification method supplied. Step 312 attempts to lookup theregistered user stored in the user database repository 131 (FIG. 1).Step 313 examines the information received from the query in step 312.If an exact unique match was found based on the hash id, the processmoves to step 318 where a message is formulated that indicates an exactmatch was found and the data being returned is a specific registereduser associated with the identification information provided. If anexact match was not found, the system executes step 314 that attempts todetermine if this user, while registered, is using an alternative methodof identification that is not stored in the system yet by examining someof the non-unique information supplied, such as the name. For example,the user may be using a different credit card than they used the firsttime. In this case, the name matches but not the hash id calculated bythe system to represent the data on the card. Step 314 attempts to usewhatever identifying information sent to match registered user recordsin the user database repository 131 (FIG. 1). Since this partialinformation does not make a unique match, the result set will be anarray of one or more registered user records or a null dataset in theevent nothing is found that matches. This result set is tested in step315. If no data was found that matched any of the provided information,a message is formatted that there is no registered user that matches theidentifying information provided in step 317. If some results werefound, step 316 formats a message that one or more registered users maymatch the information provided. The message will contain the registereduser records of any potential match. Included in the method will beadditional pieces of information that can be used by the local processon the machine sending the request to verify the user. Step 319 packagesthe message and sends to the machine that made the originalauthentication request. It then sets a timer, and waits for a receiptfrom the machine that the message was received. Step 320 monitors theelapsed time, and compares it to a value set by an administrative userin the configuration file. If the elapsed time exceeds that set time,the message is resent until the maximum number of attempts is reachedaccording to the administrative configuration file, otherwise, theprocess terminates at 321. Step 322 occurs on the deployed machinerepresented logically as 101 (FIG. 1) that made the original request. Itlistens for a response from the Real-time Management System 133 (FIG.1). If it receives a message, it sends a receipt message which ishandled by the process in step 319. Step 322 directs the informationreceived to subroutine processes 400, 500, 600, 700 or 800 thatoriginated the request for the general lookup subroutine 300 to beexecuted, which are described below and detailed in FIGS. 4-8.

Subroutine 400 (FIGS. 3, 4) is preferred for registering a new user.Subroutine 400 begins either when a user attempts to register asdescribed above per subroutine 300, or when a user attempts to enter asystem area that requires the user to be a member, as indicated by step401, wherein the user is directed to the general lookup subroutine 300(FIG. 3). The result set is returned to step 402 where it examines thedata to determine if there were any matches found in the user database.If an exact match is found, that user is classified as a registereduser, and the Update Account Information subroutine 600 commences. Ifthe general lookup subroutine 300 does not indicate a preexistingunique, user account, step 403 checks to see if subroutine 300 returnedan array of possible users in step 403. If an array of possible users isfound, the step 404 prompts the user for a secondary piece ofinformation based on the method they are using to identify themselves,and checks that against the information returned from the server for apossible match in step 404. Step 405 determines if the data matches anypreviously registered user's information. If there is a match, the useris directed to the Update Account Information Subroutine 600 (FIG. 6).If there is no match in step 405, the user is directed into the userregistration process by prompting them to accept the required legalagreements concerning use of this system, privacy agreements, or anyother possible legal agreement or acknowledgement in step 408. If instep 403, it is determined that no matches of any sort were returnedfrom the general lookup process 300, then the system prompts the userfor a secondary identifying method in step 406. Error handling is donein step 407 to ensure that the information is in a valid format. If itis not, the user is prompted to correct in the information in step 406,otherwise, the user is prompted to accept the legal agreements requiredto use the system in step 408.

Step 409 evaluates the user's answer to the question in step 408. If theuser did not accept the legal agreement, they are not permitted to usethe system and they will get a failed registration message in step 410.They are given the option of accepting the agreement again at step 408or terminating the user registration process in step 411. If the useraccepts the agreement, they are directed to step 412, where they areprompted for their acceptance of various types of marketingcommunication. The users selections are stored in a local memory in step413 and the user is prompted to add additional forms of communication instep 414. This is an optional area where the user can add an additionalform of contact such as a cell phone, mailing address, or any othermechanism through which he or she may be reached. Step 415 performserror checking on the information entered in step 414. If theinformation is not correct or has an error, the user can fix the issue,otherwise, the user is prompted with the option to indicate additionalpreferences in step 416. Optional preferences include informationconcerning which products or brands interest the user, categories ofproducts frequently purchased, communication preferences, demographicdata or any other marketing related information that the uservolunteers. The data is recorded in local storage on the machine in step417. In step 418, the local session variable is set to indicate that aregistered user is now using the machine. This opens up access by theuser to registered areas of the machine, and gives the registered userprivileges that are associated with an account at the introductory levelas they use the machine in a normal user session in step 419. When theapplication determines that the session is over through any means suchas a completed transaction, idle period, a user-instigated end session(indicated though a control button on the touch screen), or any otherterminating event, the session end subroutine 900 is initiated.

Subroutine 500 (FIG. 5) illustrates the preferred returning useridentification process. It outlines the process whereby a user isidentified on a machine, and associates their user session with theirexisting registered account. Identifying oneself as a registered user ona machine gives the user access to member restricted areas and benefits.

The returning-user identification process begins in step 501 when a userselects a control on the touch screen to indicate that they are areturning user, or the general lookup process 300 returned with an arrayof user data. The system checks if user data is present in step 502. Ifno user data is present the application prompts the user to identifythemselves through a preferred method in step 503. The user can use anyof the accepted methods of identifying themselves on a machine if theyhad previously filled out the proper information to do so. Acceptedmethods include the use of data on a credit card magnetic stripe,indicating a registered cell phone number with a personal identificationnumber, inputting a user name and password, fingerprint scanning, or anyother identification routine that provides a unique and securecombination. Step 504 verifies that this information was entered andread by the system correctly. If not, the user is prompted to againenter their information via step 503. If the information was readcorrectly, it is formatted and sent to the general lookup process 300.

In step 505, information returned from step 300 (FIG. 5) is examined. Ifno user data is found, the information supplied cannot be associatedwith any existing account, and the user will be routed to the new userregistration process 400. If user data was found, step 506 determines ifthe general lookup process 300 found an exact match and returned aspecific user GUID or an array of possible user GUIDs and associateduser information. If a specific user was matched exactly to theinformation provided, the application triggers step 509. If an exactmatch was not found, the system will prompt the user for additionalinformation from their profile in an attempt to securely match them upwith existing user registration files in step 507. Step 508 determinesif this matching was successful. If it was not, the user is directed tothe new user registration process 400. If a user was successfullymatched to information provided in step 506 or step 508, step 509 willbe triggered. Step 509 will set the session variables on the localmachine with the registered user's GUID. The user would be returned totheir user session 510 on the machine. The user will now have access tomember areas until the end of their session. Actions and transactionsduring this active and continuous session will be logged and noted ontheir account. When the application determines the session is overthrough any means such as a completed transaction, idle period, userinstigated through an end session control button on the touch screen orany other terminating event, the session end process 900 is initiated.

Subroutine 600 (FIG. 6) allows a user to update and manage their accountinformation. It accommodates various ways for a user to edit, update,and manage their account information. A user must have been previouslyregistered and identified as a registered user on a machine in an activesession in order to have access to this process.

The process begins in step 601 when the user selects a command button onthe user interface that directs then into the update account informationarea, or the user is prompted automatically to this area in the casethat it is determined that the user needs to update their accountinformation. Reasons for automatically prompting a user to update theiraccount status could be that the legal agreements they previouslyaccepted have changed, new options or preferences are now availablesince their last user session, or that a specified time has elapsedsince the last time a user has updated their information. Information ispulled from local storage on the machine and formatted for onscreenpresentation in step 601. This locally stored information was previouslyretrieved by process 400 (FIG. 4). This screen displays their currentlystored information, a summary of their information, or selections tospecific segments of their account information. The user is prompted toedit information on the main management screen in step 603. From thisstep, they can edit multiple areas or indicates that they are finished,which triggers step 604 and sends the user back to their user session.If the elects to update their marketing message preferences, they arerouted to step 605 where they may make changes. Step 606 stores thechanges made in a local storage area on the machine. Afterwards, theuser is returned to step 603 where they may indicate that they are donein step 604, or they may make another selection. Alternatively, fromstep 603, the user may opt to add an additional identifier method totheir user profile in step 607. The identifier method can be any of thepreviously mentioned methods that provide a unique and secureidentifying mechanism. Step 608 validates this information and provideserror checking. If there are problems, the user is prompted to correctthe problems. If there are no problems, the user is directed to step 606that saves the new information in a local storage area where it willlater be uploaded to the central repository during the end of usersession 900. After the data is stored locally in step 606, the user isreturned to the main user management area 603. The user may also opt toupdate their demographic profile, contact information, retail profile orproduct and brand preferences in step 609. After the changes, the usercan confirm the changes and store them locally in step 606, or they cancancel the operation returning to step 603 where they may make anotherselection or complete their updating selecting that they are donetriggering step 604. The user is then returned to their user session620. When the application determines the session is over through anymeans such as a completed transaction, idle period, user instigatedthrough an end session control button on the touch screen or any otherterminating event, the session end process 900 is initiated where theinformation stored locally in this process is uploaded to the userrepository 131 (FIG. 1).

FIG. 7 illustrates the preferred method of conducting a transaction todetermine if a user is a registered user or not. This method provides away to link transactions on a machine to a registered user if theypreviously registered. The benefit of this method is that if a user wasalready registered with the same payment method they are currentlyusing, they are automatically logged into the system. If they are not aregistered user, they are given the option to register with the systembefore completing their transaction.

The payment subroutine 700 (FIG. 7) begins when a user indicates thatthey are ready to pay for their purchase in step 701. Step 702 checks ifthey are already identified in the current session as a registered userof the system. If the current user is identified as a registered user ofthe system, they proceed directly to the standard checkout validationprocess 711. The checkout validation process is a standard vendingprocess ensures payment is received before products or merchandise arevended. The system described here uses an external payment authorizationsystem supplied by a third party vendor. These third party vendors havesystems that will receive payment information (e.g. identifying creditinformation from a credit card) and determine if it is a valid paymentmethod and if the amount to be charged is within the credit limits ofthis card. The process is the same for debit transaction where theidentifying debit information is matched to a debit account, validatedthrough their own processes and analyzed to see that the amount beingdebited is available. The checkout process 711 receives a successresponse from this third party system if the amount has been charged ordebited. If a successful transaction occurs, the selected merchandise isvended. If a failure response is received for any reason, thetransaction is suspended and the user is notified. At this point theymay try to use another form of payment or cancel the transaction. Thesystem can use any one of these third party payment authorizationsystems that are widely available to purchase as a service.

If the current user is not already identified with the machine as anactive user, they are prompted if they want to register or identifythemselves as a registered user on the system in step 703. If they donot, the event is logged, and the user is directed back to thetransaction process 711 as described above. If the user wishes toregister or indicates they are an existing registered user, they arequeried to specify which one they are in step 704 or select that theywish to cancel. If they select cancel, the user is directed to thecheckout process 711. If the user indicates they are an existingregistered user, they are asked to identify themselves with the systemin step 705. The information is captured and a validation request issent to the general lookup process 300 (FIG. 3).

The data returned from the general lookup process is analyzed in step707. If no user is found, the user is directed to the new userregistration process 400 (FIG. 4). If some user data was found, step 708determines if an exact match to a registered user was found. If a singleregistered user was found that exactly matched to the data provided, theuser proceeds to the standard checkout process 709. If an exact matchwas not found, the general lookup process returned an array of possibleregistered users and the user is directed to step 710 where they areprompted for additional information that will be user to try to matchthe current user with an existing user registration. If the informationprovided by the user did not match up with any record in the arrayreturned by the general lookup process, the user is directed to the newuser registration process 400 (FIG. 4) where they may complete theregistration process or cancel. If the validation data entered in by theuser in step 710 matches a record in the array or if the usersuccessfully completes the new user registration process 400 (FIG. 4),the event is logged and the session variable is set to indicate thecurrent user is a registered user in step 706. The process thencontinues to the checkout process 711 where the user's paymentinformation is validated as described above.

After the user completes the standard checkout process, the sessionvariable is checked to determine if the current user is a registereduser. If they are not, the process terminates in step 713. If thecurrent user is a registered user, step 714 records the transactioninformation in local storage associating the information with theregistered user's GUID. The process then proceeds to step 715 thatdisplays summary information of the transaction to the user. Thisinformation may include information such as the total accumulatedrewards points, special offers targeted at that registered user oradditional options available to registered users which may be configuredby administrative users of the system. The user's session is thenautomatically terminated by step 715 and the process ends with thesession end process 900.

FIG. 8 illustrates the preferred method of handling sample dispensingwithin the context of the customer retention system outlined herein. Theuser registration process is compulsory. A user must register in orderto receive a free sample on the system. A user must either register withthe system or have previously registered with the system in order to beeligible for a sample. The user is also subject to the rules of theprogram which may be configured to restrict the dispensing of samples.The user restrictions on the sample program can be programmed into thesystem through a graphical user interface by non-technical personnel.This system allows an administrative user to set time and quantitylimits on the samples that are dispensed per user. The time limitsrestrict the time between dispensing samples. For example, member userscan be restricted to receiving only one sample product per 24 hourperiod. The quantities of a particular type of sample can also berestricted. For example, a user may be restricted to receiving only onetype of sample per member account. The restrictions are enforced acrossall machines on the system via the centralized operations centerdescribed in FIG. 1. This is advantageous as a consumer within range ofa number of deployed machines cannot abuse the sample dispensing system.

The membership sample subroutine 800 begins when a user attempts toobtain a sample from the machine in step 801 (depicted logically as 101in FIG. 1 and physically as 200 in FIG. 2). The current sessionvariables are checked in step 802 to see if the current user isidentified as a registered user. If the current user is not identifiedas being a registered member, they are prompted in step 803 to identifythemselves using an acceptable method of identification. Thisinformation is sent to the general lookup process 300 (FIG. 3). Theresults of the lookup are tested in step 804. If general lookupsubroutine 300 does not produce a matching result set, the user is sentto the new registration subroutine 400 (FIG. 4). If the general lookupprocess produces a result set of an array of one or more member userregistration data sets, it is checked in step 805. If the result setdoes not contain an exact match, the user is prompted for additionalidentifying information in step 806. Step 807 examines the additionalinformation entered by the user. If there is not a match of theadditional information to any of the result set returned by the generallookup process, the user is directed to the new user registrationprocess 400 (FIG. 4). If the information does match one of theregistered user data sets returned by the general lookup process, thenthe user is directed to step 808 where the session variable is setindicating that the current user is a registered member. Step 808 willalso store the user data received in step 803 in the matched userrecord. This will permanently associate the new identifying data withthe user's registered account data. If step 805 determines that there isan exact match of a registered user's data record, the user wouldproceed to step 808 where the session variable is set indicating thatthe current user is a registered member. The user is then directed tostep 809 that retrieves the user's sample dispensing history that isattached to their user record retrieved by the general lookup process300 (FIG. 3). This data is matched against the administrative settingsfor possible limits placed on the sample dispensing program. If step 802determined that the current user was a registered user, it will havesent the user to step 809 bypassing any additional lookups. Step 810determines if the registered user is within the time constraints set onthe sample program. The user is sent to step 811 if the user did notmeet the limits set on the time meaning the administrative set time hasnot yet elapsed since the user received their last sample. Step 811displays a user message that they are not eligible for the dispensing ofthat sample at this time. If the registered user did meet the timeconstraints placed on the sample being dispensed, they proceed to step812 that determines if the registered user meets the quantityconstraints placed on the sample they are attempting to receive. If theuser has exceeded the allowed quantity for the particular sample theyare attempting to receive, they do not meet the quantity limit rules andare directed to step 811 that displays a message to the user that theyare not eligible to receive the sample they requested at this time. Ifstep 812 determines they are eligible to receive this sample, the userproceeds to the system sample dispensing procedure that handles thephysical dispensing of the sample product in step 813. Step 814 recordsthe results of the sample dispensing process and updates the currentuser's sample dispensing history data set. The user then returns totheir current user session 815. When the application determines thesession is over through any means such as a completed transaction, idleperiod, user instigated through an end session control button on thetouch screen or any other terminating event, the session end process 900is initiated where the information stored locally in this process isuploaded to the user repository 131 (FIG. 1).

Subroutine 900 (FIG. 9) handles a registered user's data at the end of auser session on a machine. When the application determines the sessionis over through any means such as a completed transaction, idle period,user instigated through an end session control button on the touchscreen, or any other terminating event, the session end is initiated.This process gathers all new data logged during a registered user'ssession and sends this information back with the machine identificationnumber to the central server and user repository to store. Thisinformation resides there until it is retrieved by the user initiating anew user session on a machine, accessed by an administrative user formanagement purposes, or used by an automated or manual process formarketing or data analysis purposes. After an acknowledgement that theinformation was successfully received and stored in the user repository,the local machine removes the locally stored data from its memory.

The session end subroutine 900 begins when the application determinesthat a registered user's session has ended 901. Step 902 processes allof the newly recorded information associated with the registered user'saccount. The current machine identification number is attached to thisinformation. Step 903 packages this information into a formatted messageand sends to the central operations center 130 (FIG. 1) where it isprocessed by real-time management system 133 (FIG. 1) and stored in theuser database repository 131 (FIG. 1). Steps 904, 905, 906, 907, 908,909, 910, and 911 take place in the central operations center 130 (FIG.1). The computations are performed by the real-time management system133 (FIG. 1) and the data storage is recorded in the user databaserepository 131 (FIG. 1).

Step 904 parses the incoming message and notes the user identificationparameters and the machine identification number. Step 905 users theuser information to locate the correct user record. Step 906 determinesif a user is found. If a user is not found, step 907 stores theinformation in a temporary folder where an administrator will manuallyanalyze it at a later time. If step 906 determines that a user recordwas successfully found, step 908 stores the information in the userdatabase repository 131 (FIG. 1). Step 909 creates a message that theinformation was received and stored successfully in the user database,sends that message to the machine that initiated the original messageand waits for a response. Step 912 occurs on the originating machine. Itreceives the message, removes the user data recorded in the session fromthe local machine and sends an acknowledgement response back to thecentral operations center. The process on the local machine thenterminates 913. If an acknowledgement message is received during thespecified time, the process ends in step 911. If the specified timeelapses and no acknowledgement message is received, step 909 will resendthe message.

From the foregoing, it will be seen that this invention is well adaptedto obtain all the ends and objects herein set forth, together with otheradvantages which are inherent to the structure.

It will be understood that certain features and subcombinations are ofutility and may be employed without reference to other features andsubcombinations. This is contemplated by and is within the scope of theclaims.

As many possible embodiments may be made of the invention withoutdeparting from the scope thereof, it is to be understood that all matterherein set forth or shown in the accompanying drawings is to beinterpreted as illustrative and not in a limiting sense.

What is claimed is:
 1. A vending system comprising: a communicationnetwork; a centralized database accessible through said network thatstores inputted customer data; and, a plurality of remote vendingmachines, retail displays, and automated retail stores connected to thenetwork that access said database, each of said vending machines, retaildisplays, and/or automated retail stores comprising: a display modulecontaining items to be vended and a plurality of touchable productviewing areas; means for physically dispensing items; a computer foractivating and controlling the vending machine, the computer comprisingmeans for inputting customer data, the means for inputting data selectedfrom the group consisting of magnetic card readers, RFID readers,Bluetooth receiving units, touch screens, keypads, motion sensors, andtouch sensors mounted in the housing; software run by said computer thatcommunicates with said database for establishing customer profiles inresponse to data input, the software comprising: a subroutine forrecognizing registered users and for registering new users by generatinga global unique identifier (GUID) for individual customers that uniquelyidentifies the user from personally identifiable information such asparts of a credit card number, a non-identifying calculated number basedoff that number, a user's name, a cell phone number, email addresses,MAC addresses from wireless enabled devices; and, subroutines foractivating said means for physically dispensing items in response topreselected conditions associated with each GUID; wherein saidsubroutine for recognizing registered users and for registering newusers comprises the steps of: executing a user lookup subroutine thatdetermines whether a user is registered, the user lookup routinecomprising the steps of: recognizing when a user attempts to access anarea or feature restricted to registered users of the system or when auser actively touches the touch screen indicating they wish to identifythemselves as a registered user; presenting a screen prompting users toregister or identify themselves; collecting identifying informationincluding user names, passwords, or credit card, membership card, and/ordriver's license information; transmitting information from said latterstep to said database; determining if a match exists in said database;if a match is found by said database, recognizing a registered user andupdating their account; wherein if a match is not found by saiddatabase, steps attempt to identify an array of possible users, and ifan array of possible users is found, steps prompt the user to inputsecondary information to further identify themselves, and steps checksecondary information to determine a possible match, wherein if a matchis found, steps direct the user to update his or her accountinformation, and, if a match is not found steps direct the user to theuser registration process.
 2. The vending system as defined in claim 1wherein said step of directing the user to a registration processincludes the steps of: presenting a legal agreement and requestingacceptance; evaluating the user's answer to preceding step; if the userdid not accept the legal agreement, denying use of the system andproviding a failed registration message; if the user accepts theagreement, prompting the user to input additional information andpreferences; and providing the registered user privileges associatedwith an account on the machine.
 3. A vending system comprising: acommunication network; a centralized database accessible through saidnetwork that stores inputted customer data; and, a plurality of remotevending machines, retail displays, and automated retail stores connectedto the network that access said database, each of said vending machines,retail displays, and/or automated retail stores comprising: a displaymodule containing items to be vended and a plurality of touchableproduct viewing areas; means for physically dispensing items; a computerfor activating and controlling the vending machine, the computercomprising means for inputting customer data, the means for inputtingdata selected from the group consisting of magnetic card readers, RFIDreaders, Bluetooth receiving units, touch screens, keypads, motionsensors, and touch sensors mounted in the housing; software run by saidcomputer that communicates with said database for establishing customerprofiles in response to data input, the software comprising: asubroutine for recognizing registered users and for registering newusers by generating a global unique identifier (GUID) for individualcustomers that uniquely identifies the user from personally identifiableinformation such as parts of a credit card number, a non-identifyingcalculated number based off that number, a user's name, a cell phonenumber, email addresses, MAC addresses from wireless enabled devices;and, subroutines for activating said means for physically dispensingitems in response to preselected conditions associated with each GUID;wherein said subroutine for recognizing registered users and forregistering new users comprises the steps of: executing a user lookupsubroutine that determines whether a user is registered, the user lookuproutine comprising the steps of: recognizing when a user attempts toaccess an area or feature restricted to registered users of the systemor when a user actively touches the touch screen indicating they wish toidentify themselves as a registered user; presenting a screen promptingusers to register or identify themselves; collecting identifyinginformation including user names, passwords, or credit card, membershipcard, and/or driver's license information; transmitting information fromsaid latter step to said database; determining if a match exists in saiddatabase; if a match is found by said database, recognizing a registereduser and updating their account; wherein if a match is not found by saiddatabase, steps attempt to identify an array of possible users, and ifan array of possible users is found, steps prompt the user to inputsecondary information to further identify themselves, and steps checksecondary information to determine a possible match, wherein if a matchis found, steps direct the user to update his or her accountinformation, and, if a match is not found steps direct the user to theuser registration process; wherein said step of directing the user to aregistration process includes the steps of: presenting a legal agreementand requesting acceptance; evaluating the user's answer to precedingstep; if the user did not accept the legal agreement, denying use of thesystem and providing a failed registration message; if the user acceptsthe agreement, prompting the user to input additional information andpreferences; and providing the registered user privileges associatedwith an account on the machine; wherein said step of determining if amatch exists in said database comprises a subroutine for determining ifa user, while registered, failed to be recognized because he or she usedan alternative method of identification that is not stored in thedatabase system yet.
 4. The vending system as defined in claim 3 whereinsaid software comprises a subroutine for preventing abuse of a freesample dispensing program in an automated vending machines, the lastmentioned subroutine comprising: steps for recognizing when a userrequests a sample; steps for querying said database to determine if thelast mentioned user is a registered user; steps for requiringunregistered users to register; steps for establishing rule setsgoverning the qualification of registered users to obtain specific freesamples; steps for querying said database to determine if the registereduser qualifies for specific free samples in accordance with said rulesets; steps for vending qualified samples to qualified registered userswhen said rule sets are satisfied; steps for storing information aboutdispensed qualified samples in said database proximity or touch sensorsdescribed hereinafter that are used for customer selection.